package com.xsq.newmall01.Mapper;

import com.xsq.newmall01.Dao.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SystemUserMapper {
    // 查看所有普通用户
    List<User> selectAllUsers();

    // 查看所有商家用户
    List<MerchantUser> selectAllMerchants();

    // 修改商家状态
    void updateMerchantStatus(@Param("id") int id, @Param("status") int status);

    // 修改普通用户状态
    void updateUserStatus(@Param("id") int id, @Param("status") int status);

    // 查看所有订单（带收发件人名称）
    List<Order> selectAllOrders();

    // 查看所有商品（带所属商家信息）
    List<Good> selectAllGoodsWithMerchant();

    // 管理员下架商品（删除商品）
    void deleteGoodByAdmin(int goodId);

    // 管理员下架商品（删除所有权记录）
    void deleteOwnershipByAdmin(int goodId);

    // 撤回订单：删除订单
    void deleteOrder(int orderId);

    // 撤回订单：查询订单详情（用于获取原商家ID和商品ID）
    Order selectOrderById(int orderId);

    // 撤回订单：更新商品所有权为原商家
    void updateOwnershipForRecall(@Param("goodId") int goodId, @Param("senderId") int senderId);

    SystemUser login(SystemUser systemUser);

    // 新增：根据ID查询普通用户
    User selectUserById(int id);

    // 新增：更新系统用户（管理员）信息
    void updateSystemUser(SystemUser systemUser);

}
